package com.ywyself.plugin.spider.uils;

import com.ywyself.ext.utils.YsDateUtils;
import com.ywyself.ext.utils.YsVerifyUtils;
import org.junit.Test;

import java.time.LocalDateTime;
import java.util.Random;

/**
 * 数据处理
 */
public class DataUtils {
    /**
     * 对标题进行处理
     *
     * @param s
     * @return
     */
    public static String title(String s) {
        if (s == null || s.trim().length() == 0) {
            return "";
        }
        s = java.util.regex.Pattern
                .compile("[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~！@#？￥%……&*（）——+|{}【】‘；”“’。，、:]")
                .matcher(s).replaceAll(" ").trim();
        return s.replaceAll("^[　*| *| *|//s*]*", "")
                .replaceAll("[　*| *| *|//s*]*$", "");
    }

    /**
     * 对单行文字进行处理
     *
     * @param s
     * @return
     */
    public static String line(String s) {
        if (s == null || s.trim().length() == 0) {
            return "";
        }
        return s.replaceAll("^[　*| *| *|//s*]*", "")
                .replaceAll("[　*| *| *|//s*]*$", "");
    }

    /**
     * 对文字进行处理
     *
     * @param s
     * @return
     */
    public static String content(String s) {
        if (s == null || s.trim().length() == 0) {
            return "";
        }
        return s.replaceAll("<br>", "\r\n")
                .replaceAll("<br />", "\r\n")
                .replaceAll("<script.*</script>", "")
                .replaceAll("&nbsp;", "")
                .replaceAll("&lt;", "<")
                .replaceAll("&gt;", ">")
                .replaceAll("&amp;", "&")
                .replaceAll("&quot;", "\"")
                .replaceAll("&apos;", "'");
    }


    /**
     * 将数字补0为4位
     *
     * @param index
     * @return
     */
    public static String fullIndex(int index) {
        // 得到一个NumberFormat的实例
        java.text.NumberFormat nf = java.text.NumberFormat.getInstance();
        // 设置是否使用分组
        nf.setGroupingUsed(false);
        // 设置最大整数位数
        nf.setMaximumIntegerDigits(4);
        // 设置最小整数位数
        nf.setMinimumIntegerDigits(4);
        return nf.format(index);
    }

    /**
     * 获取命名前缀
     *
     * @return 纳秒
     */
    public static String getPrefix() {
        return YsDateUtils.getStr("yyyyMMddHHmmss") + YsVerifyUtils.getVerifyCode(6);
    }
}
